# 循环语句 while

# 三元运算符:只有一个语句:如下两个等价
import random

a = 9
b = 12 if a > 10 else print("a<10")

if a > 10:
    b = 12
else:
    print("a<10")

# 在python中转换：0,"",'',None,(),{},[] 会被转换成为False,其他都会被转入True
if 0:
    print(False)
else:
    print(True)

print("*" * 20)

# 循环语句
'''
循环：
    1. 用户名和密码 输入锁定
    2. 计划1-100
    3. 游戏：死了重生：游戏就是代码
方式：
    while:
        while 条件：
            循环执行的代码
    for:
        
'''
# 打印1-10之间的数字

# 初始值
n = 1
# 结束条件
while n <= 10:
    print("---->n=%d" % n)
    # 变量有变化
    n += 1
'''
打印1-50之间能被3整除的数字,并统计总数：
打印1-50之间的数字累加和
'''
n = 0
total = 0
# sum 是内置函数
sum1 = 0
while n <= 50:
    if n % 3 == 0:
        print("能被3正数的数字n = %d" % n)
        total += 1
    sum1 += n
    n += 1
print("总共%d个" % total)
print("1-50总和%d个" % sum1)
print("**" * 20)
n = 3
while n <= 50:
    print("能被3正数的数字n = %d" % n)
    n += 3

# 循环购买商品
total_price = 0
# 购买商品总数
total_num = 0
while True:
    # 随机商品价格
    # product_price = random.randint(1, 100)
    #  给定精度
    product_price = round(random.random() * 100, 2)
    print("该商品价格%.2f" % product_price)
    # 随机商品价格数量
    product_num = random.randint(1, 10)
    total_num += product_num
    print("该商品数量%d" % product_num)
    total_price += product_price * product_num
    answer = input("是否继续购买商品(q是退出)?\n请确认是否继续买：")
    if answer == 'q':
        # 种植循环
        break
print("您购买的商品总数%d个,总价%.2f元" % (total_num, total_price))

print("***" * 10)
'''
猜大小：
    产生一个随机数猜大小：
        猜错了：提示猜错了，请重新猜 ；注意有3次机会
        猜对了：恭喜你猜对了
'''
error_num = 3
while True:
    if error_num <= 0:
        print("3次机会已经使用完成，请联系管理员")
        break
    random_num = random.randint(1, 6)
    print("随机生成的数字%d" % random_num)
    guess = int(input("请在1-6之间猜个数字："))
    if guess == random_num:
        print("恭喜你猜对了")
        break
    else:
        error_num -= 1
        print("猜错了，您有三次重猜机会，只剩%d次，请珍惜" % error_num)

print("***" * 20)
# while....else : while 实体中，不被终端则会执行else；

n = 0
while n < 10:
    print("--->", n)
    if n == 5:
        break
    n += 1
else:
    print("输出n=%d" % n)
